package com.alks.function.service.administration;

import com.alks.entity.data.entity.PcEmpAttend;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.administration.AttendanceDetailsRequest;
import com.alks.function.data.request.administration.PcEmpAttendUpdateRequest;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface PcEmpAttendService extends IService<PcEmpAttend> {

    ResponseInfo getAttendanceDetails(AttendanceDetailsRequest request) ;

    ResponseInfo AttendanceDataQuery(AttendanceDetailsRequest request);

    ResponseInfo AttendancePublicHolidays(String years);

    /**
     * 考勤公休定义查询V2
     * @param years
     * @return
     */
    ResponseInfo attendancePublicHolidaysV2(String years);

    ResponseInfo AttendanceDataUpdate(PcEmpAttendUpdateRequest request);

    ResponseInfo AttendanceDataDel(PcEmpAttendUpdateRequest request);

    ResponseInfo InsertTheWeekendDateOfTheCurrentMonth(String years);

    ResponseInfo psHoliday2Del(String years);

    /**
     * 考勤公休定义添加
     * @param years     年月
     * @param legalHoliday 是否是法定假日 1 是 0 否
     * @return
     */
    ResponseInfo psHoliday2Add(String years, Integer legalHoliday);

    /**
     * 考勤公休定义修改
     * @param years     原年月
     * @param newYears  新年月
     * @param legalHoliday 是否是法定假日 1 是 0 否
     * @return
     */
    ResponseInfo psHoliday2Update(String years, String newYears, Integer legalHoliday);

    ResponseInfo ImportAttendanceData(MultipartFile file);

    void ExportAttendanceReport(String years, HttpServletResponse response);

    String batchInsert(List<PcEmpAttend> pcEmpAttendList);
}
